#ifndef __IIC_MULTI_TOUCH_H__
#define __IIC_MULTI_TOUCH_H__

#include "ramdisk.h"

#define NON_REQUEST_QUEUE   1

#define RAMDISK_SIZE    (2 * 1024 * 1024)
#define RAMDISK_NAME    "ramdisk"
#define RAMDISK_MINOR   3

struct ramdisk_dev{
    int major;      // 主设备号
    unsigned char *ramdiskbuf;  //ramdisk内存空间
    struct gendisk *gendisk;
    struct request_queue *queue;
    spinlock_t lock;    /* 自旋锁 */
};
struct ramdisk_dev ramdisk;

#if NON_REQUEST_QUEUE
static void ramdisk_make_request(struct request_queue *queue, struct bio *bio);
#else
static void ramdisk_request_fn(struct request_queue *q);
#endif
static void ramdisk_transfer(struct request *req);
static int ramdisk_open(struct block_device *bdev, fmode_t mode);
static void ramdisk_release(struct gendisk *bdev, fmode_t mode);
static int ramdisk_getgeo(struct block_device *bdev, struct hd_geometry *geo);



#endif
